Ext.onReady(function()
{
    // HANDLE AJAX
        var h_importar_success = function(obj){
            var store = X.get('creaStore');
            for (var i=0; i<store.getCount(); i++){
                store.getAt(i).set('habilitado', false);
                store.getAt(i).commit();
            }
            for (var i=0; i<obj.rows.length; i++){
                var r = store.findExact('idFuncionalidad', obj.rows[i]['idFuncionalidad']);
                store.getAt(r).set('habilitado',true);
                store.getAt(r).commit();
            }
            X.hide('impoWindow');
        }
    // HANDLE MSG
        var h_empty_perfil = function(){
            X.focus('impoPerfil');
        }

    // STORE
    X.store({
        id     : 'impoStore',
        fields : [
            'idPerfil',
            'nombre'
        ]
    });

    // FORM
    X.form.panel({
        id     : 'impoForm',
        title  : 'Importar permisos desde un Perfil',
        width  : 400,
        height : 120,
        items  : [

            X.form.label ({x:10,  y:16, text:'Nombre:'}),
            X.form.combo ({x:70,  y:10, width:300, id:'impoPerfil',storeId:'impoStore',dfield:'nombre',vfield:'idPerfil'}),
            X.form.button({x:70,  y:50, width:80,  id:'impoImportar', text:'Importar'}),
            X.form.button({x:170, y:50, width:80,  id:'impoCancelar', text:'Cancelar'})
        ]
    });

    // EVENT
        X.event.button('impoCancelar', function(){
            X.hide('impoWindow');
        });
        X.event.button('impoImportar', function(){
            if (X.isempty('impoPerfil'))
                X.msg.failure('Seleccione un Perfil', h_empty_perfil);
            else
                X.ajax({
                    url      : '/perfil/ajax-funcionalidades',
                    targetId : 'impoWindow',
                    params   : { idPerfil : X.value('impoPerfil') },
                    afterSuccess: h_importar_success
                });
        });

    // WINDOW
    X.win.panel({
        id            : 'impoWindow',
        defaultButton : 'impoPerfil',
        items         : X.get('impoForm')
    });

    X.get('impoWindow').begin = function(){
        // el if para asegurar abrir una sola ventana (aunque sea modal)
        if (X.get('impoWindow').isVisible()==false){
            X.set('impoPerfil', '');
            X.show('impoWindow');
        }
    }
});